package com.RedRiver.hospitalsystem.personal_service.service;

import com.RedRiver.hospitalsystem.personal_service.infra.model.Worker;
import com.RedRiver.hospitalsystem.personal_service.service.Form.*;
import com.RedRiver.hospitalsystem.personal_service.service.info.WorkerPageInfo;
import com.RedRiver.hospitalsystem.result.Result;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author 龙世超
 * @since 2022-04-26
 */
public interface WorkerService extends IService<Worker> {

    IPage<WorkerPageInfo> findAllWorker(PageForm form);

    Result addWorker(WorkerForm workerForm);

    Result updateNewWorker(NewUpdateWorker newUpdateWorker);

    Result deleteWorkerById(Integer workerId);

    IPage<WorkerPageInfo> findAllWorkerByDepartmentId(WorkerPageForm form);

    IPage<WorkerPageInfo> findAllWorkerByWorkerSex(WorkerSexPageForm form);

    IPage<WorkerPageInfo> findPageAllWorkerByWorkerName(WorkerNamePageForm form);
}
